Matthias Clasen [Mon, 30 Oct 2017 20:50:41 +0000 (16:50 -0400)]
gtk: Avoid using gdk_screen_get_setting
We can get the setting from the display instead.
Matthias Clasen [Mon, 30 Oct 2017 20:50:14 +0000 (16:50 -0400)]
Add gtk_settings_get_for_display
This will help us avoiding screens in many places.
Matthias Clasen [Mon, 30 Oct 2017 20:45:36 +0000 (16:45 -0400)]
Stop using the GdkScreen get_setting vfunc
We can now call the GdkDisplay implementation instead.
Matthias Clasen [Mon, 30 Oct 2017 20:44:47 +0000 (16:44 -0400)]
use the GdkDisplay get_setting vfunc
Instead of calling the GdkScreen implementation, use our
own vfunc now.
Matthias Clasen [Mon, 30 Oct 2017 20:44:18 +0000 (16:44 -0400)]
x11: Implement the GdkDisplay get_setting vfunc
Just call the GdkScreen vfunc.
Matthias Clasen [Mon, 30 Oct 2017 20:43:50 +0000 (16:43 -0400)]
wayland: Implement the GdkDisplay get_setting vfunc
Just call the GdkScreen vfunc.
Matthias Clasen [Mon, 30 Oct 2017 20:43:13 +0000 (16:43 -0400)]
broadway: Implement the GdkDisplay get_setting vfunc
This is just a trivial implementation.
Matthias Clasen [Mon, 30 Oct 2017 20:42:49 +0000 (16:42 -0400)]
quartz: Implement the GdkDisplay get_setting vfunc
Just call the GdkScreen vfunc.
Matthias Clasen [Mon, 30 Oct 2017 20:41:59 +0000 (16:41 -0400)]
mir: Implement the GdkDisplay get_setting vfunc
Just call the corresponding screen vfunc.
Matthias Clasen [Mon, 30 Oct 2017 20:39:49 +0000 (16:39 -0400)]
gdk: Add a get_setting vfunc to GdkDisplay
This will eventually replace the GdkScreen vfunc of the
same name.
Matthias Clasen [Mon, 30 Oct 2017 20:06:42 +0000 (16:06 -0400)]
Remove GdkScreen api usage
Use GdkDisplay equivalents where they exist.
Matthias Clasen [Mon, 30 Oct 2017 19:45:37 +0000 (15:45 -0400)]
Store the display inside GtkSettings
This is a step towards dropping GdkScreen.
Matthias Clasen [Mon, 30 Oct 2017 19:31:02 +0000 (15:31 -0400)]
Remove gdk_setting_get
This is a minor convenience api, and it is unused.
Matthias Clasen [Mon, 30 Oct 2017 14:07:19 +0000 (10:07 -0400)]
Forgotten files
Clean up the setting event from headers and docs too.
Matthias Clasen [Mon, 30 Oct 2017 13:47:26 +0000 (09:47 -0400)]
gdk: Drop settings events
We are not emitting these events anymore, so lets remove them
from the api. The GdkSettingAction enum is moved to xsettings-client.c
where its only use remains.
Matthias Clasen [Mon, 30 Oct 2017 13:36:01 +0000 (09:36 -0400)]
x11: Stop emitting settings events
Not needed anymore.
Matthias Clasen [Mon, 30 Oct 2017 13:35:45 +0000 (09:35 -0400)]
wayland: Stop emitting setting events
Not needed anymore.
Matthias Clasen [Mon, 30 Oct 2017 13:35:30 +0000 (09:35 -0400)]
quartz: Stop emitting setting events
Not needed anymore.
Matthias Clasen [Mon, 30 Oct 2017 13:35:11 +0000 (09:35 -0400)]
mir: Stop emitting setting events
Not needed anymore.
Matthias Clasen [Mon, 30 Oct 2017 13:34:45 +0000 (09:34 -0400)]
gtk: Stop handling settings events
We don't need this anymore, now that we use the ::setting-changed
signal.
Matthias Clasen [Mon, 30 Oct 2017 13:04:09 +0000 (09:04 -0400)]
gtk: Connect to GdkDisplay::setting-changed
We still handle the setting event, for now.
That will be removed in a future commit.
Matthias Clasen [Mon, 30 Oct 2017 13:03:25 +0000 (09:03 -0400)]
x11: Emit GdkDisplay::setting-changed
We still generate the event too.
That will be removed in a future commit.
Matthias Clasen [Mon, 30 Oct 2017 13:03:08 +0000 (09:03 -0400)]
wayland: Emit GdkDisplay::setting-changed
We still generate the event too.
That will be removed in a future commit.
Matthias Clasen [Mon, 30 Oct 2017 13:02:33 +0000 (09:02 -0400)]
quartz: Emit GdkDisplay::setting-changed
We still generate the event too.
That will be removed in a future commit.
Matthias Clasen [Mon, 30 Oct 2017 13:01:47 +0000 (09:01 -0400)]
mir: Emit GdkDisplay::setting-changed
We still generate the event too.
That will be removed in a future commit.
Matthias Clasen [Mon, 30 Oct 2017 13:00:49 +0000 (09:00 -0400)]
gdk: Add settings api to GdkDisplay
This commit adds gdk_display_get_setting and a ::setting-changed
signal, which will replace the settings event we use now. Note
that I've done away with the GdkSettingAction argument that the
event has, since we are not using it at all.
Lukas K [Sat, 28 Oct 2017 22:07:34 +0000 (00:07 +0200)]
make GDK_DEBUG=opengl work on win32
Chun-wei Fan [Thu, 31 Aug 2017 10:43:07 +0000 (18:43 +0800)]
input/IME: Defer the emit of the "commit" signal
On Windows, when IME is used, each keystroke results in the
WM_IME_COMPOSITION event being sent first. This means that in our case
when one decides on to accept the input that is in the preedit buffer,
we first get from Windows the WM_IME_COMPOSITION event
(where we emit the commit signal), followed by the WM_IME_ENDCOMPOSITION
event (where we emit the pair of preedit-changed and preedit-end
signals).
Since commit
f11f989 (GtkEntry: Remove recompute idle), we do the input
recomputation directly, this will cause a pair of "Pango-WARNING:
Assertion failed: (index >= 0 && index <= layout->length)" being shown,
as gtkentry.c's priv->preedit_length and priv->preedit_cursor was unable
to be reset to 0 in time as a result of the recomputation triggered by
the commit being done before the reset of priv->preedit_length and
priv->preedit_cursor (which are no longer valid as we essentially say
that we are done with the preedit buffer).
As we could only acquire the final string that was entered in this
preedit session when we handle the WM_IME_COMPOSITION event, fix this by
saving up the final string we acquire from Windows IME in UTF-8 when we
handle the WM_IME_COMPOSITION event from Windows, and emit the commit
signal with that string after we emit the preedit-changed and
preedit-end signals when we handle the WM_IME_ENDCOMPOSITION event from
Windows, which comes afterwards.
Also fix the formatting of the code around the parts of the files that
was changed.
https://bugzilla.gnome.org/show_bug.cgi?id=787142
Benjamin Otte [Sat, 28 Oct 2017 23:26:22 +0000 (01:26 +0200)]
cssimagescaled: Remove now unused struct member
Benjamin Otte [Mon, 30 Oct 2017 01:30:05 +0000 (02:30 +0100)]
gdk: Remove leftovers from GdkScreen::size-changed removal
Benjamin Otte [Mon, 30 Oct 2017 00:53:09 +0000 (01:53 +0100)]
inspector: Use the new monitor change signals
And on't use the GdkScreen anymore now that the GdkDisplay provides all
the information we care about.
Benjamin Otte [Sun, 29 Oct 2017 12:16:57 +0000 (13:16 +0100)]
screen: Remove unused vfuncs
Timm Bäder [Sun, 29 Oct 2017 17:03:10 +0000 (18:03 +0100)]
widget: Make parent property read-only
Timm Bäder [Sun, 29 Oct 2017 16:27:53 +0000 (17:27 +0100)]
widget: Don't notify :parent when rearranging widgets
gtk_widget_reposition_after is also valid to call if the widget already
has a parent, so don't notify the parent property in that case.
Timm Bäder [Sun, 29 Oct 2017 15:10:12 +0000 (16:10 +0100)]
widget: Remove parent-set signal
When a widget unparents its child widget manually in finalize, this can
lead to the parent-set signal being emitted for those child widgets. The
parent already has a ref_count of 0 though, so it can't be used in a
meaningful way. Specifically, emitting the signal will already try to
ref the parent which prints a critical.
Since GtkWidget already has a "parent" property, one can use its notify
signal instead to get notified when the parent widget changes.
Timm Bäder [Sun, 29 Oct 2017 12:44:12 +0000 (13:44 +0100)]
inspector: Remove node != NULL check from recorder model
We use NULL to remove the selection.
Timm Bäder [Sat, 28 Oct 2017 17:23:06 +0000 (19:23 +0200)]
checkbutton: Destroy indicator widget when draw-indicator is FALSE
Benjamin Otte [Sun, 29 Oct 2017 10:41:12 +0000 (06:41 -0400)]
cssimagescaled: Just return the computed image
... instead of returning either itself with uncomputed images or a
copy of itself with only one computed image and lots of other
uncomputed images that we're never gonna look at again.
This fixes expressions like -gtk-scaled(-gtk-recolor(...),-gtk-recolor(...))
which Adwaita uses for checkmarks and bullets.
Matthias Clasen [Sat, 28 Oct 2017 20:10:46 +0000 (16:10 -0400)]
Avoid creating trivial shadow nodes
The Vulkan renderer creates a fallback surface for each shadow
node, even if we end up not rendering anything to it. Avoiding
this is a nice optimization.
Matthias Clasen [Sat, 28 Oct 2017 19:22:24 +0000 (15:22 -0400)]
Adwaita: Use scaled icons for checks and bullets
This gives us crip rendering on hidpi screens.
Matthias Clasen [Sat, 28 Oct 2017 19:20:11 +0000 (15:20 -0400)]
Adwaita: Add scaled version of bullets and checks
We use these assets as .symbolic.png now, so for hidpi, we
should provide @2 variants.
Matthias Clasen [Sat, 28 Oct 2017 18:38:49 +0000 (14:38 -0400)]
gsk: Apply scale factor for fallback rendering
This fixes blurry text and icons whenever we apply shadows
in a hidpi window. Shadow nodes are the last ones that we
still use fallback for, and this was causing us to render
the text blurry.
Matthias Clasen [Sat, 28 Oct 2017 18:38:21 +0000 (14:38 -0400)]
Triival cleanup
No need to go to the window, we store a copy of the scale factor
in the render pass object.
Matthias Clasen [Sat, 28 Oct 2017 18:30:03 +0000 (14:30 -0400)]
inspector: Show details for shadow nodes
One of the few node types that we're not detailing yet.
Matthias Clasen [Sat, 28 Oct 2017 17:13:31 +0000 (13:13 -0400)]
gsk: Scale glyphs in the glyph cache
Pass a scale factor when caching glyphs or looking them
up in the cache. The glyphs in the cache are rendered
with subpixel precision determined by the scale. Update
all callers to pass a scale factor according to the window
scale. This lets us render crisp glyphs on hidpi systems.
Matthias Clasen [Sat, 28 Oct 2017 15:57:53 +0000 (11:57 -0400)]
vulkan: Handle changing window scale
The code that checks for the proper size of the our swapchain
was not taking window scale fully into account. With this change,
setting the window scale to 2 in the inspector causes the window
to grow and rendering to be scaled up as expected, with Vulkan,
in the same way it already is with cairo.
Matthias Clasen [Sat, 28 Oct 2017 15:49:39 +0000 (11:49 -0400)]
gsk: Drop the GskRenderer::scale-factor property
This is can always be obtained from the window that is already
associated with the renderer, no need to maintain a separate
property for it.
Emmanuele Bassi [Thu, 16 Feb 2017 00:04:50 +0000 (00:04 +0000)]
x11: Query whether we have GLX support
Epoxy 1.4 has new ad hoc API that we can use to check whether GLX is
available on the current system.
If we didn't use this API, we'd have to manually dlopen libGL (or its
equivalent on different OSes) and check if it had GLX symbols; since
Epoxy already does all of this internally, we can simply ask it instead.
https://bugzilla.gnome.org/show_bug.cgi?id=775279
Emmanuele Bassi [Thu, 16 Feb 2017 00:03:05 +0000 (00:03 +0000)]
Bump up the dependency on libepoxy
We are going to use new API to detect whether or not GLX is available
before calling GL API.
https://bugzilla.gnome.org/show_bug.cgi?id=775279
Timm Bäder [Sat, 28 Oct 2017 09:46:35 +0000 (11:46 +0200)]
Adwaita: Add back visible focus outlines for list rows
Timm Bäder [Sat, 28 Oct 2017 09:37:13 +0000 (11:37 +0200)]
sizerequest: Don't pass uninitialized values to measure
The GtkWidgetClass::measure vfunc is not required to assign a value to
any of the (out) parameters, so we need to initialize the locals we pass
to it, otherwise we can end up with a garbage size request.
Federico Mena Quintero [Fri, 27 Oct 2017 22:04:02 +0000 (17:04 -0500)]
GtkPathBar: Centralize handling of outstanding cancellables
The path bar would crash if we disposed it before all pending I/O
operations had finished. Now we remember all the outstanding
operations directly in the GtkPathBarPrivate, and deal with them
consistently.
Matthias Clasen [Fri, 27 Oct 2017 21:13:40 +0000 (17:13 -0400)]
gsk: Make text nodes more compact
The copy of the PangoGlyphString we do here was showing up
in some profiles. To avoid it, allocate the PangoGlyphInfo array
as part of the node itself. Update all callers to deal with
the slight api change required for this.
Olivier Fourdan [Tue, 27 Jun 2017 09:12:57 +0000 (11:12 +0200)]
wayland: scale down reported monitor geometry
According to the documentation, gdk_monitor_get_geometry() reports the
monitor geometry in ”application pixels”, not in ”device pixels”,
meaning that the actual device resolution needs to be scaled down by the
scale factor of the output.
x11 backend does that downscaling, whereas Wayland backend did not,
causing a discrepancy depending on the backend used.
https://bugzilla.gnome.org/show_bug.cgi?id=783995
Simon McVittie [Thu, 26 Oct 2017 14:57:29 +0000 (15:57 +0100)]
GtkHeaderBar: Reconsider buttons if any tiling state changes
Looking at the 1-bit "tiled or not?" state is not necessarily
enough.
Signed-off-by: Simon McVittie <smcv@debian.org>
https://bugzilla.gnome.org/show_bug.cgi?id=789357
Drew DeVault [Sat, 29 Apr 2017 00:35:51 +0000 (20:35 -0400)]
Wayland: Implement KDE's SSD protocol
If the compositor prefers server-side decorations and the client doesn't
customize the title bar, we disable client-side decorations and let the
compositor know. Otherwise, we continue to use client-side decorations.
Signed-off-by: Drew DeVault <sir@cmpwn.com>
https://bugzilla.gnome.org/show_bug.cgi?id=781909
Olivier Fourdan [Wed, 21 Jun 2017 13:02:05 +0000 (15:02 +0200)]
wayland: Do not constrain saved window size
Under Wayland, an xdg_surface.configure with size 0x0 means it's up to
the client to set its size.
When transitioning from maximized state to un-maximized, the Wayland
compositor will send such an 0x0 configure so that the client can
restore its original size.
However, the original size was already constrained, so re-applying
size constrains can lead to a smaller size when using size increments.
Avoid this caveat by not applying size constrains when we are restoring
the original size.
https://bugzilla.gnome.org/show_bug.cgi?id=777072
Florian Müllner [Sun, 22 Oct 2017 22:18:19 +0000 (00:18 +0200)]
appchooserwidget: Don't limit application list unconditionally
As documented, GtkAppChooser is "typically [used] for the purpose of
opening a file". However given that applications that support neither
opening files nor URLs are filtered out, the chooser is not actual
useful for any other (atypical) usage. Change that by only applying
the filtering if a content-type was set, and use the full unfiltered
list otherwise.
https://bugzilla.gnome.org/show_bug.cgi?id=789327
Christian Persch [Wed, 11 Oct 2017 18:43:19 +0000 (20:43 +0200)]
actionable: Allow all detailed action name formats
Use g_action_parse_detailed_name() to enable use of this API
for actions with non-string parameter.
https://bugzilla.gnome.org/show_bug.cgi?id=788841
Marek Kasik [Thu, 19 Oct 2017 11:59:58 +0000 (13:59 +0200)]
printing: Install printbackends
Add "install : true" for each printbackend so that they are installed.
https://bugzilla.gnome.org/show_bug.cgi?id=789185
Matthias Clasen [Wed, 12 Apr 2017 17:56:49 +0000 (13:56 -0400)]
wayland: Don't spew warnings for blank cursors
We were unnecessarily spewing warnings when blank cursors
were getting a new scale set. Standardize on "none" as the
name for blank cursors, and avoid the warning.
https://bugzilla.gnome.org/show_bug.cgi?id=775217
Matthias Clasen [Thu, 26 Oct 2017 03:58:09 +0000 (23:58 -0400)]
icon-browser: Make non-symbolic icons visible again
The commit that added the scalable size to the details dialog
inadvertedly caused all icons to be hidden. No need to do that.
Matthias Clasen [Thu, 26 Oct 2017 02:27:19 +0000 (22:27 -0400)]
Drop gtk_cell_renderer_get_size
This function has been deprecated since 3.0, time to drop it.
Matthias Clasen [Thu, 26 Oct 2017 01:46:46 +0000 (21:46 -0400)]
Drop unused includes of gtkrender.h
We don't use the gtk_render apis internally anymore.
Drop these includes so it is clear where the remaining
uses are.
Matthias Clasen [Wed, 25 Oct 2017 22:35:32 +0000 (18:35 -0400)]
Some minimal theme fixes for focus drawing
We don't want focus rectangles everywhere, so set them up
explicitly for the widgets where we want them, and only
if focus(visible) is set.
Matthias Clasen [Wed, 25 Oct 2017 22:26:06 +0000 (18:26 -0400)]
Remove a shortcut in gtk_widget_set_focus_child
Since focus can now be represented by more than one state,
just looking at the focus_child is no longer sufficient - we
may fail to propagate :focus(visible) if we do so. For now,
just remove the shortcut and always do the work.
Matthias Clasen [Tue, 29 Aug 2017 02:27:07 +0000 (22:27 -0400)]
Always draw outline
We can now control with CSS where there the outline
is drawn.
Matthias Clasen [Tue, 29 Aug 2017 02:26:30 +0000 (22:26 -0400)]
Support the new state in CSS selectors
Make :focus(visible) match the new state.
Matthias Clasen [Tue, 29 Aug 2017 02:25:06 +0000 (22:25 -0400)]
Set the new state flag
For now, we only set the new visible focus state
on the focus widget, when we have visible focus.
Later on, we will allow setting it on other widgets.
Matthias Clasen [Tue, 29 Aug 2017 02:22:08 +0000 (22:22 -0400)]
Add a state flag for visible focus
The new flag is called GTK_STATE_FLAGS_FOCUS_VISIBLE.
Andrea Azzarone [Wed, 25 Oct 2017 13:37:36 +0000 (09:37 -0400)]
gdk: Clear GL context when window is withdrawn
Some clients (e.g. gnome-online-accounts) quickly unmap and map
a window. With some backends the backend surface will be replaced
causing the application to crash because the GL context is still
using the old surface. Clearing the GL context when a window is
withdrawn fixes this.
https://bugzilla.gnome.org/show_bug.cgi?id=789141
Timm Bäder [Wed, 25 Oct 2017 07:34:52 +0000 (09:34 +0200)]
Adwaita: Remove focus outlines from scrollbars and scales
gtk3 didn't have focus outlines for these, so remove them for now.
Sorry lapo.
Chun-wei Fan [Tue, 24 Oct 2017 08:16:08 +0000 (16:16 +0800)]
gtk/gtkcssenumvalue.c: Deal with __builtin_popcount on MSVC
__builtin_popcount is a GCCism that is used to count the number of bits
involved, which means any non GCC/CLang compilers won't like the code,
meaning that on MSVC builds we must implement it ourselves.
We first use __cpuid() to check whether the CPU supports the popcount
instruction, if it does, we use the __popcnt intrinsic, otherwise
(untested, since I don't have a system that does not have the
instruction), we use the suggested hacks at
http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel
https://bugzilla.gnome.org/show_bug.cgi?id=773299
Chun-wei Fan [Tue, 24 Oct 2017 08:14:43 +0000 (16:14 +0800)]
testsuite/gsk/test-render-nodes.c: Include <stdlib.h>
This is so that the compiler won't complain about our use of exit()
https://bugzilla.gnome.org/show_bug.cgi?id=773299
Chun-wei Fan [Tue, 24 Oct 2017 08:12:58 +0000 (16:12 +0800)]
gtk/gtkwin32theme.c: Include gdk/gdkprivate.h
We still need to access the GdkEvent structure here directly, as using
the GdkEvent getters is likely not worth the trouble involved.
Please see Emmanuele's comment (#97) of the following bug URL.
https://bugzilla.gnome.org/show_bug.cgi?id=773299
Chun-wei Fan [Tue, 24 Oct 2017 08:09:17 +0000 (16:09 +0800)]
gdk/win32/gdkwindow-win32.c: Fix gdk_win32_window_set_icon_list()
The list of surfaces passed into the function may be NULL, so don't try
to initialize the surfaces if it is so, to avoid a crash.
Also, remove the cast to GdkPixbuf* for getting surfaces->data, as we
are already using a cairo_surface_t*.
https://bugzilla.gnome.org/show_bug?id=773299
Chun-wei Fan [Tue, 24 Oct 2017 08:06:32 +0000 (16:06 +0800)]
modules/input/gtkimcontextime.c: Fix build
The GdkEvent structure became opaque, so we need to update the code so
that we use the getters and setters here.
https://bugzilla.gnome.org/show_bug?id=773299
Benjamin Otte [Tue, 24 Oct 2017 16:26:08 +0000 (18:26 +0200)]
Fix build
Don't do two things at once and forget to run ninja before pushing.
Benjamin Otte [Tue, 24 Oct 2017 16:13:45 +0000 (18:13 +0200)]
Add default return values to switch statements
We are using g_assert_not_reached() without doing anything, assuming it
aborts the program. In release builds however, it is ignored.
Emmanuele Bassi [Tue, 24 Oct 2017 15:58:06 +0000 (16:58 +0100)]
Add a return value
When building with G_DISABLE_ASSERT, the g_assert_not_reached()
statement won't do anything, and we're going to fall through, and the
compiler will emit a warning that we're not returning anything from a
function with a return value.
Matthias Clasen [Tue, 24 Oct 2017 13:20:00 +0000 (15:20 +0200)]
inspector: Show more render node details
Should clip and container node details.
Chun-wei Fan [Tue, 24 Oct 2017 05:55:36 +0000 (13:55 +0800)]
gdk/win32/gdkwindow-win32.c: Fix build
Make up for the missed commas...
Benjamin Otte [Mon, 23 Oct 2017 23:28:46 +0000 (01:28 +0200)]
vulkan: No need to redefine gl_PerVertex
The compiler has those predefined, so use them.
Benjamin Otte [Mon, 23 Oct 2017 23:20:50 +0000 (01:20 +0200)]
vulkan: Delete unused shaders
These have been renamed to .frag/.vert, apparently the originals weren't
deleted.
Matthias Clasen [Mon, 23 Oct 2017 16:33:15 +0000 (18:33 +0200)]
Mention pixbufs in the migration guide
They are being phased out.
Alexander Larsson [Mon, 23 Oct 2017 14:39:44 +0000 (16:39 +0200)]
Drop all uses of GdkPixbufAnimation in the gtk APIs
These are basically animated gifs, and don't fit well in how
modern things animate.
Benjamin Otte [Mon, 23 Oct 2017 14:28:38 +0000 (16:28 +0200)]
build: Warn about ignored qualifiers
https://bugzilla.gnome.org/show_bug.cgi?id=789351
Emmanuele Bassi [Mon, 23 Oct 2017 14:23:09 +0000 (15:23 +0100)]
Remove unnecessary const
We return a scalar value, so we don't need it to be constant.
https://bugzilla.gnome.org/show_bug.cgi?id=789351
Alexander Larsson [Mon, 23 Oct 2017 13:34:17 +0000 (15:34 +0200)]
GtkIconHelper: Remove unused code
Alexander Larsson [Mon, 23 Oct 2017 13:25:46 +0000 (15:25 +0200)]
Drop pixbuf support in IconHelper and ImageDefinition
These are no longer used, instead we always covert to surface as
early as possible and drop the pixbuf.
This means we never store both the pixbuf and the surface at
for any longer time, which is wasteful. Also, its one step further
to drop GdkPixbufs from generic use in our APIs.
Alexander Larsson [Mon, 23 Oct 2017 13:15:35 +0000 (15:15 +0200)]
GtkDragSource: Don't use gtk_image_definition_new_pixbuf
We want to get rid of pixbuf image definitions.
Long term this should probably be gtk_drag_source_set_icon_surface instead.
Alexander Larsson [Mon, 23 Oct 2017 13:03:31 +0000 (15:03 +0200)]
CellRendererPixbuf: Never store pixbufs
Rather than store the pixbufs as themselves we immediately convert
them to surfaces. In the uncommon case that a pixbuf is read back
from the renderer we generate a new one from the surface data.
Alexander Larsson [Mon, 23 Oct 2017 12:47:50 +0000 (14:47 +0200)]
GtkImage: Drop support for storing pixbufs
This drops the pixbuf property and the pixbuf getters. We keep
gtk_image_new/set_from_pixbuf, but these are small helpers that
immediately convert to a surface, and there is no way to later get
back the pixbuf you passed in.
The from file/resource codepaths are also changed to load a surface
instead of a pixbuf.
Timm Bäder [Mon, 23 Oct 2017 12:43:47 +0000 (14:43 +0200)]
window: Use correct destroy notify for icon list
The list contains cairo_surface_t instances now, not GdkPixbuf anymore.
Timm Bäder [Mon, 23 Oct 2017 11:39:22 +0000 (13:39 +0200)]
icontheme: Silence some compiler warnings
Matthias Clasen [Mon, 23 Oct 2017 12:16:31 +0000 (14:16 +0200)]
dnd: Add more surface apis
The new function, gtk_drag_source_set_icon_surface, is for setting
a drag source icon without using GdkPixbuf.
Alexander Larsson [Mon, 23 Oct 2017 11:43:50 +0000 (13:43 +0200)]
GtkWindow/GdkWindow: Finish converting icons to surfaces
There were some parts left, for instance gdk_window_set_icon_list.
Alexander Larsson [Mon, 23 Oct 2017 10:49:42 +0000 (12:49 +0200)]
GtkEntry: Use surfaces, not pixbufs for bitmapped icons
Alexander Larsson [Mon, 23 Oct 2017 10:48:11 +0000 (12:48 +0200)]
aboutdialog: Use set_boxed on surface
cairo_surface_t is boxed, not a GObject.
Matthias Clasen [Mon, 23 Oct 2017 09:24:49 +0000 (11:24 +0200)]
inspector: show color matrix node details
Show the matrix and the offset for color matrix nodes.